Automata theory: deterministic and non-deterministic automata and conversions. Grammars: context free grammars, languages for grammars and Parse trees. Turing machines and abstractions of RAM. Decidability, reducibility P and PN classes. Time and spare complexity. NP completeness. -- Course Website